課程資訊
課程名稱
嵌入式系統編譯器設計
Compilers for Embedded Systems 
開課學期
101-1 
授課對象
電機資訊學院  資訊工程學研究所  
授課教師
廖世偉 
課號
CSIE5099 
課程識別碼
922 U3240 
班次
 
學分
全/半年
半年 
必/選修
選修 
上課時間
星期五A,B,C(18:25~21:05) 
上課地點
 
備註
上課地點:資542
限學士班四年級以上
總人數上限:15人 
 
課程簡介影片
 
核心能力關聯
本課程尚未建立核心能力關連
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

1.Architecture Overview and Languages for High Performance
2.Preliminary Transformations — Loop normalization, Data flow analysis
l Definition-Use Chains (aka FUD chains, factored use-def chains)
l Deadcode Elimination
l Constant Propagation
l Static Single-Assignment Form
l LLVM case study — Data Flow Analysis — SSA and use_iterator
3.Scalar Analysis with Definition-Use Chains
l Constructing Factored Definition-Use Chains
l FUD chains for Arrays
l Finding all reaching definitions
l Finding Implicit reference in FUD chains
l Induction-Variable Exposure
l LLVM case study — Constant Propagation
4.Handling Control Flow
l If-Conversion
l If-Conversion in LLVM for ARM
5.Register allocations
l Color-based
l Linear-Scan
l Vareity
l LLVM’s register allocation algorithms
6.Interprocedural Analysis and Optimization
l IPA
(1)Interprocedural Problems
(2)Flow-insensitive analysis
(3)Flow-sensitive analysis
(4)Call graph construction
l IPO
1. Inline
2. Procedure cloning
3. Stack wrapper
l Whole program optimization (LTO or IMO)
l LTO in LLVM 

課程目標
Compilers for Embedded Systems 
課程要求
 
預期每週課後學習時數
 
Office Hours
 
指定閱讀
 
參考書目
the dragon book @ Stanford.edu http://dragonbook.stanford.edu/)
plus the textbook by Ken Kennedy and Randy Allen (http://www.amazon.com/Optimizing-Compilers-Modern-Architectures-Dependence-based/dp/1558602860 
評量方式
(僅供參考)
   
課程進度
週次
日期
單元主題
無資料